.. _软件简介: ************************************ 软件简介 ************************************ DS-PAW是Device Studioå¹³å°ä¸‹ä¸€æ¬¾ç¬¬ä¸€æ€§åŽŸç†å¯†åº¦æ³›å‡½è®¡ç®—程åºï¼Œä½¿ç”¨å¹³é¢æ³¢ä½œä¸ºåŸºå‡½æ•°ç»„ï¼Œä½¿ç”¨æŠ•å½±ç¼€åŠ å¹³é¢æ³¢æ–¹æ³•æž„é€ èµåŠ¿ã€‚æœ¬ç¨‹åºèƒ½å¹¿æ³›åº”ç”¨äºŽææ–™ç§‘å¦é¢†åŸŸï¼Œå¼€å±•例如金属ã€åŠå¯¼ä½“ã€ç»ç¼˜ä½“ã€è¡¨é¢ã€ç£æ€§ã€éžç£æ€§ã€é”‚ç”µç‰ææ–™çš„è®¡ç®—ç ”ç©¶ï¼› èƒ½å¤Ÿç²¾ç¡®é¢„æµ‹ææ–™çš„电å分布;能够进行原åå‡ ä½•ç»“æž„ä¼˜åŒ–ç‰å¤šç§åŠŸèƒ½çš„è®¡ç®—ã€‚æœ¬ç¨‹åºæ€§èƒ½ç¨³å®šï¼Œåœ¨intel芯片åŠå›½äº§æµ·å…‰èŠ¯ç‰‡ä¸‹ç»è¿‡ç™¾ä¸‡æ¡ˆä¾‹çš„内部测试,包括å„项功能åŠå¹¶è¡Œæ•ˆçŽ‡ã€‚ .. _1.1 安装说明: install安装说明 ========================================================================== ------------------------------------------------------------------------------------------------------------------------------------------------------------------ .. note:: 1. DS-PAW 使用cmakeç¼–è¯‘ï¼Œè¦æ±‚cmake版本≥2.8 2. 建议使用Intel编译器编译 .. _icc: ============================================================================== Intel 编译器编译MKL版本(推è使用) ============================================================================== .. code-block:: bash :linenos: cd DS-PAW mkdir build cd build cmake .. -DCMAKE_CXX_COMPILER=icc -DCMAKE_INSTALL_PREFIX=install_path/ -DDSPAW_USE_MKL=ON make -jN #Nä¸ºç¼–è¯‘ä½¿ç”¨çš„æ ¸æ•° make install .. note:: 1. Intel 编译器版本è¦â‰¥2017 2. **CMAKE_CXX_COMPILER** 用于指定c++编译器ä½ç½®ï¼Œ**CMAKE_INSTALL_PREFIX** 用于指定DS-PAW的安装目录 3. 若未æˆåŠŸæŸ¥æ‰¾åˆ°MPI编译器,å¯è®¾ç½® **-DMPI_CXX_COMPILER=mpiicc** æ¥æŒ‡å®šIntel MPI编译器ä½ç½® .. _gcc: ============================================================================== Gcc 编译器编译openblas版本 ============================================================================== .. code-block:: bash :linenos: cd DS-PAW mkdir build cd build cmake .. -DCMAKE_CXX_COMPILER=icc -DCMAKE_INSTALL_PREFIX=install_path/ -DOPENBLAS_PATH=openblas_path/ make -jN #Nä¸ºç¼–è¯‘ä½¿ç”¨çš„æ ¸æ•° make install .. note:: 1. gcc 编译器版本è¦â‰¥4.8 2. 系统ä¸éœ€å˜åœ¨MPI编译器,如openmpiã€mpichç‰ 3. **CMAKE_CXX_COMPILER** 用于指定c++编译器ä½ç½®ï¼Œ**CMAKE_INSTALL_PREFIX** 用于指定DS-PAW的安装目录,**OPENBLAS_PATH** 用于指定openblas目录ã€è®¿é—® `openblas文档 <https://github.com/xianyi/OpenBLAS/wiki/Installation-Guide>`_ 4. 若未æˆåŠŸæŸ¥æ‰¾åˆ°MPI编译器,å¯è®¾ç½® **-DMPI_CXX_COMPILER=mpicxx** æ¥æŒ‡å®šMPI编译器ä½ç½® .. _1.2 命令说明: command命令说明 ========================================================================== ------------------------------------------------------------------------------------------------------------------------------------------------------------------ .. _ 命令列表: ============================================================================== list命令列表 ============================================================================== -------------------------------------------------------------------------------------------------------------------------------------------- - lic_ - info_ - mpi_ - mpiargs_ - pob_ -------------------------------------------------------------------------------------------------------------------------------------------- .. _ 命令详细æè¿°: ============================================================================== detail命令详细æè¿° ============================================================================== -------------------------------------------------------------------------------------------------------------------------------------------- .. _lic: **命令åç§°:** :guilabel:`-lic` **使用方法:** :guilabel:`-lic` 用于生æˆåºåˆ—å·ï¼Œåœ¨DS-PAW安装目录下执行命令::guilabel:`DS-PAW -lic` å³å¯å¾—到LicenseNumber.txt文件,该文件用于license的申请 --------------------------------------------------------------------------------------------------------------------------------------------- .. _info: **命令åç§°:** :guilabel:`-info` **使用方法:** :guilabel:`-info` 用于查看软件版æƒä¿¡æ¯ï¼Œæ‰§è¡Œå‘½ä»¤ï¼š:guilabel:`DS-PAW -info` --------------------------------------------------------------------------------------------------------------------------------------------- .. _mpi: **命令åç§°:** :guilabel:`-mpi xxx` **使用方法:** :guilabel:`-mpi` 用于指定mpi执行程åºçš„ä½ç½®ï¼Œå¦‚: :guilabel:`-mpi mpirun` --------------------------------------------------------------------------------------------------------------------------------------------- .. _mpiargs: **命令åç§°:** :guilabel:`-mpiargs xxx` **使用方法:** :guilabel:`-mpiargs` 用于指定mpiè¿è¡Œå‚数,如::guilabel:`-mpiargs "-np 16"` --------------------------------------------------------------------------------------------------------------------------------------------- .. _pob: **命令åç§°:** :guilabel:`-pob` **使用方法:** :guilabel:`-pob` 用于并行计算时åˆç†åˆ†é…æ ¸æ•°åŠ å¿«è¿è¡Œé€Ÿåº¦ï¼Œä¸º *parallel over band* 的简写,å¯åœ¨æäº¤å‘½ä»¤ä¸æ·»åŠ æ¤å…³é”®è¯ --------------------------------------------------------------------------------------------------------------------------------------------- .. _1.3 程åºè¿è¡Œ: run程åºè¿è¡Œ ========================================================================== ------------------------------------------------------------------------------------------------------------------------------------------------------------------ .. _ 命令æäº¤è¿è¡Œ: ============================================================================== submit命令æäº¤è¿è¡Œ ============================================================================== -------------------------------------------------------------------------------------------------------------------------------------------- 设置环境å˜é‡ï¼š .. code-block:: bash export PATH={DS-PAW INSTALLPATH}/bin:$PATH 串行执行: .. code-block:: bash DS-PAW input.in 并行执行: .. code-block:: bash DS-PAW -mpi mpirun -mpiargs "-np 16" input.in -pob .. _ 脚本æäº¤è¿è¡Œ: ============================================================================== script脚本æäº¤è¿è¡Œ ============================================================================== -------------------------------------------------------------------------------------------------------------------------------------------- 若使用排队系统(例如PBSã€slurmç‰ï¼‰æäº¤ä»»åŠ¡ï¼Œåªè¦é…置完æˆç›¸åº”çš„ ``.pbs`` 或 ``.slurm`` 脚本,之åŽä½¿ç”¨ :guilabel:`qsub xx.pbs` 或 :guilabel:`sbatch xx.slurm` æäº¤ä»»åŠ¡å³å¯ã€‚